home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
misc
/
Hunk.lha
/
Hunk
/
Hoppers
/
Ace_235.hop
next >
Wrap
Text File
|
1998-02-14
|
7KB
|
205 lines
;*************************************************************************
;** Ace 2.35 MUL(S)/DIV(S)/MOD(S) **
;** Contributor: L.Lucius Sept 23rd 1995 **
;** Modified for HOp: Thomas Richter (thor) Nov 1st 1997 **
;** Function: Modify 68000 math routines to use 68020+ instructions. **
;*************************************************************************
;*************************************************************************
;
; ACE DIVS()
;
#match
#code
202F 0008 ; MOVE.L 0008(A7),D0
6A02 ; BPL.B 0008
4480 ; NEG.L D0
222F 0004 ; MOVE.L 0004(A7),D1
6A08 ; BPL.B 0016
4481 ; NEG.L D1
0A2F 0080 0008 ; EORI.B ;80,0008(A7)
4EB9 RRRR RRRR ; JSR 00.00000104
4A2F 0008 ; TST.B 0008(A7)
6A02 ; BPL.B 0024
4480 ; NEG.L D0
4E75 ; RTS
;
;
#replace
202F 0008 ; MOVE.L 0008(A7),D0
4C6F 0800 0004 ; DIVS.L 0004(A7),D0
4E75 ; RTS
#end
;*************************************************************************
;
; DIVS()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
6A02 ; BPL.B 002E
4480 ; NEG.L D0
222F 0008 ; MOVE.L 0008(A7),D1
6A08 ; BPL.B 003C
4481 ; NEG.L D1
0A2F 0080 0004 ; EORI.B #80,0004(A7)
4EB9 RRRR RRRR ; JSR 00.00000104
4A2F 0004 ; TST.B 0004(A7)
6A02 ; BPL.B 004A
4480 ; NEG.L D0
4E75 ; RTS
;
;
#replace
222F 0004 ; MOVE.L 0004(A7),D0
4C6F 0800 0008 ; DIVS.L 0008(A7),D0
4E75 ; RTS
#end
;*************************************************************************
;
; MULS()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
6A02 ; BPL.B 0054
4480 ; NEG.L D0
222F 0008 ; MOVE.L 0008(A7),D1
6A08 ; BPL.B 0062
4481 ; NEG.L D1
0A2F 0080 0004 ; EORI.B #80,0004(A7)
4EB9 RRRR RRRR ; JSR 00.000000E8
4A2F 0004 ; TST.B 0004(A7)
6A02 ; BPL.B 0070
4480 ; NEG.L D0
4E75 ; RTS
;
;
#replace
202F 0004 ; MOVE.L 0004(A7),D0
4C2F 0800 0008 ; MULS.L 0008(A7),D0
4E75 ; RTS
#end
;*************************************************************************
;
; ACE MODS()
;
#match
#code
202F 0008 ; MOVE.L 0008(A7),D0
6A02 ; BPL.B 007A
4480 ; NEG.L D0
222F 0004 ; MOVE.L 0004(A7),D1
6A02 ; BPL.B 0082
4481 ; NEG.L D1
4EB9 RRRR RRRR ; JSR 00.00000104
2001 ; MOVE.L D1,D0
4A2F 0008 ; TST.B 0008(A7)
6A02 ; BPL.B 0092
4480 ; NEG.L D0
4E75 ; RTS
;
;
#replace
202F 0008 ; MOVE.L 0008(A7),D0
4C6F 0801 0008 ; DIVSL.L 0004(A7),D1:D0
C141 ; EXG D0,D1
4E75 ; RTS
#end
;*************************************************************************
;
; MODS()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
6A02 ; BPL.B 009C
4480 ; NEG.L D0
222F 0008 ; MOVE.L 0008(A7),D1
6A02 ; BPL.B 00A4
4481 ; NEG.L D1
4EB9 RRRR RRRR ; JSR 00.00000104
2001 ; MOVE.L D1,D0
4A2F 0004 ; TST.B 0004(A7)
6A02 ; BPL.B 00B4
4480 ; NEG.L D0
4E75 ; RTS
;
;
#replace
202F 0004 ; MOVE.L 0004(A7),D0
4C6F 0801 0008 ; DIVSL.L 0008(A7),D1:D0
C141 ; EXG D0,D1
4E75 ; RTS
#end
;*************************************************************************
;
; DIVU()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
222F 0008 ; MOVE.L 0008(A7),D1
4EB9 RRRR RRRR ; JSR 00.00000104
4E75 ; RTS
;
;
#replace
202F 0004 ; MOVE.L 0004(A7),D0
4C6F 0000 0008 ; DIVU.L 0008(A7),D0
4E75 ; RTS
#end
;*************************************************************************
;
; MULU()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
222F 0008 ; MOVE.L 0008(A7),D1
4EB9 RRRR RRRR ; JSR 00.000000E8
4E75 ; RTS
;
;
#replace
202F 0004 ; MOVE.L 0004(A7),D0
4C2F 0000 0008 ; MULU.L 0008(A7),D0
4E75 ; RTS
#end
;*************************************************************************
;
; MODU()
;
#match
#code
202F 0004 ; MOVE.L 0004(A7),D0
222F 0008 ; MOVE.L 0008(A7),D1
4EB9 RRRR RRRR ; JSR 00.00000104
2001 ; MOVE.L D1,D0
4E75 ; RTS
;
;
#replace
202F 0004 ; MOVE.L 0004(A7),D0
4C6F 0001 0008 ; DIVUL.L 0008(A7),D1:D0
C141 ; EXG D0,D1
4E75 ; RTS
#end